package com.qijian.business.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qijian.business.domain.KrWorkOrder;
import com.qijian.business.domain.ProductionDetail;
import com.qijian.business.domain.ProductionDetailSalary;
import com.qijian.business.domain.dto.ProductionDetailDTO;
import com.qijian.business.domain.query.ProductionDetailQuery;
import com.qijian.business.domain.vo.ProductionDetailVo;
import com.qijian.business.domain.query.KrWorkOrderQuery;
import com.qijian.business.domain.query.ProductionDetailQuery;
import com.qijian.business.domain.query.ProductionDetailSalaryQuery;
import com.qijian.business.domain.vo.ProductionDetailSalaryVo;
import com.qijian.business.domain.vo.ProductionDetailVo;

import java.util.List;

/**
 * 报工Service接口
 *
 * @author qijian
 * @date 2025-03-25
 */
public interface IProductionDetailService extends IService<ProductionDetail> {
    Boolean saveProductionDetail(ProductionDetailDTO productionDetailDTO);

    Page<ProductionDetailVo> pageVo(Page<ProductionDetail> page, ProductionDetailQuery query);

    Page<ProductionDetailVo> pageListDay(Page<ProductionDetail> page, ProductionDetailQuery queryWrapper);

    Page<ProductionDetailVo> pageListMoon(Page<ProductionDetail> page, ProductionDetailQuery queryWrapper);

    List<ProductionDetailSalaryVo> listMoonSum(ProductionDetailSalaryQuery queryWrapper);

    List<ProductionDetailSalaryVo> listMoonSalary(ProductionDetailSalaryQuery queryWrapper);

    List<ProductionDetailSalary> listDaySum(ProductionDetailSalaryQuery queryWrapper);
}
